0bb6db823d5d8e4963a31edb96c2e195a045abcb,core/src/test/java/com/orientechnologies/orient/core/storage/impl/local/paginated/wal/WriteAheadLogTest.java,WriteAheadLogTest,testLogThreeCheckPointTruncationOneLeft,#,994
Before Change
when(paginatedStorage.getName()).thenReturn("WriteAheadLogTest");
when(paginatedStorage.getStoragePath()).thenReturn(testDir.getAbsolutePath());
writeAheadLog = new OWriteAheadLog(1024, -1, 2048, 2 * 2048, paginatedStorage);
List<OWALRecord> writtenRecords = new ArrayList<OWALRecord>();
Random rnd = new Random();
OWALRecord walRecord = new OFuzzyCheckpointStartRecord();
writeAheadLog.logRecord(walRecord);
writtenRecords.add(walRecord);
walRecord = new OFuzzyCheckpointStartRecord();
writeAheadLog.logRecord(walRecord);
writtenRecords.add(walRecord);
OUpdatePageRecord setPageDataRecord = new OUpdatePageRecord(1, "test");
final int firstRecordsToWrite = (2048 - 2 * serializeSize(walRecord)) / serializeSize(setPageDataRecord);
for (int i = 0; i < firstRecordsToWrite; i++) {
long pageIndex = rnd.nextLong();
setPageDataRecord = new OUpdatePageRecord(pageIndex, "test");
writtenRecords.add(setPageDataRecord);
writeAheadLog.logRecord(setPageDataRecord);
}
int recordsToWrite = 2 * (2048 / serializeSize(setPageDataRecord));
for (int i = 0; i < recordsToWrite - 1; i++) {
long pageIndex = rnd.nextLong();
setPageDataRecord = new OUpdatePageRecord(pageIndex, "test");
writtenRecords.add(setPageDataRecord);
writeAheadLog.logRecord(setPageDataRecord);
}
walRecord = new OFuzzyCheckpointStartRecord();
After Change
when(paginatedStorage.getName()).thenReturn("WriteAheadLogTest");
when(paginatedStorage.getStoragePath()).thenReturn(testDir.getAbsolutePath());
writeAheadLog = new OWriteAheadLog(2, -1, 2 * OWALPage.PAGE_SIZE, 4 * OWALPage.PAGE_SIZE, paginatedStorage);
List<OWALRecord> writtenRecords = new ArrayList<OWALRecord>();
Random rnd = new Random();
OWALRecord walRecord = new OFuzzyCheckpointStartRecord();
writeAheadLog.logRecord(walRecord);
writtenRecords.add(walRecord);
walRecord = new OFuzzyCheckpointStartRecord();
writeAheadLog.logRecord(walRecord);
writtenRecords.add(walRecord);
int firstSegmentIndex = -1;
int counter = 2;
long logSize = writeAheadLog.size() + 1;
long prevLogSize = 0;
while (logSize > prevLogSize) {
int contentSize = rnd.nextInt(OWALPage.PAGE_SIZE - 128) + 128;
walRecord = new TestRecord(contentSize);
writeAheadLog.logRecord(walRecord);
writtenRecords.add(walRecord);
prevLogSize = logSize;
logSize = writeAheadLog.size();
if (firstSegmentIndex < 0 && logSize > 2 * OWALPage.PAGE_SIZE)
firstSegmentIndex = counter;
counter++;